#ifndef PROPERTYDLG_HPP
#define PROPERTYDLG_HPP

#include <QDialog>
#include <common.hpp>
#include "propertymodel.hpp"
#include "dbusargvmodel.hpp"
namespace Ui {
class PropertyDlg;
}

class PropertyDlg : public QDialog
{
    Q_OBJECT

public:
    explicit PropertyDlg(const BusSignatureEx data,QWidget *parent = 0);
    explicit PropertyDlg(const BusSignatureEx data,const QList<DVariant> values, QWidget *parent = 0);
    ~PropertyDlg();
    QList<DVariant> Args() const;

private slots:
    void onInputDataChange(QAbstractItemModel *model, const QModelIndex &index) const;
    void InputSelectChange(const QItemSelection &selected, const QItemSelection &deselected);
    void on_btUp_clicked();

    void on_btDown_clicked();

    void on_btAdd_clicked();

    void on_btDel_clicked();

    void on_btCancel_clicked();

    void on_btOk_clicked();

    void on_cbPropertyGet_stateChanged(int arg1);
public:
    bool m_toSeq;
private:
    int m_category;
    Ui::PropertyDlg *ui;
    DBusArgvModel *m_model;
    QList<DVariant> m_Args;
};

#endif // PROPERTYDLG_HPP
